package com.wlr.study.leetcode;

/**
 * @author lerong.wang
 * @version 1.0.0
 * @description 所有数对中数位差之和
 * 你有一个数组 nums ，它只包含 正 整数，所有正整数的数位长度都 相同 。
 * <p>
 * 两个整数的 数位差 指的是两个整数 相同 位置上不同数字的数目。
 * <p>
 * 请你返回 nums 中 所有 整数对里，数位差之和。
 * @date 2024/8/30 14:23
 */
public class LeetCode3153 {
    public long sumDigitDifferences(int[] nums) {
        long result = 0;
        for (int i = 0; i < nums.length; i++) {
            int start = nums[i];
            int index = start % 10;
            int sy = start / 10;
            int count = 1;
            while (!(sy == 0 && index == 0)) {
                for (int k = i + 1; k < nums.length; k++) {
                    int subIndex = nums[k];
                    for (int j = 1; j < count; j++) {
                        subIndex = subIndex / 10;
                    }
                    if (index!=subIndex%10){
                        result++;
                    }
                }
                index = sy % 10;
                sy = sy / 10;
                count++;
            }
        }
        return result;
    }

    public static void main(String[] args) {
        LeetCode3153 leetCode3153 = new LeetCode3153();
        int[] arr = new int[]{50,28,48};
        System.out.println(leetCode3153.sumDigitDifferences(arr));
    }
}